package com.cy.pj.module.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
public class ModuleController {//代表任意一个模块Controller,其中Module的含义为模块

      @RequestMapping("doCompute/{n1}/{n2}")
      @ResponseBody
      public String doCompute(@PathVariable  Integer n1, @PathVariable Integer n2){
          //try{
              Integer result=n1/n2;
              return "Result is "+result;
          //}catch (java.lang.ArithmeticException e){
            //  e.printStackTrace();
              //log.info("exception {}",e.getMessage());
            //  return  "除数不能为0";
         // }
          //思考:一个Controller类可能会有很多方法,每个方法都可能会出现异常,假如每个方法都要进行trycatch，就会有大量代码冗余.
      }


//      @ExceptionHandler
//      注解描述的方法为spring web模块中的异常处理方法
//      直接在controller类中的定义的异常处理方法只能处理这个Controller类中出现的一些异常
//      @ExceptionHandler(ArithmeticException.class)
//      @ResponseBody
//      public String doHandleArithmeticException(ArithmeticException e){
//          e.printStackTrace();
//          System.out.println("ModuleController.doHandleArithmeticException()");
//          return  "计算过程中出现了异常，异常信息为"+e.getMessage();
//      }
}
